/**
   演示所有权变化的几种方式
   1.赋值
   let name= String::from("岳飞");	
   let v=name;
   print("{}",name)  //报错，因为name的值已经被v抢走了
   
   2.函数传参
   let name=String::from("岳飞");	
   print_me(name);   
   print_me(name);   //报错，因为上一个函数调用的时候，name的值已经被参数夺取了
   
 */

  
 fn main(){
	let name=String::from("岳飞");	
	print_me(name);   
	//print_me(name);       //情况2-函数调用夺取。 编译错误，所有权
 }
 
 
 fn c_let(){
	let name=String::from("岳飞");	
	let mm=name;
	println!("{}",mm);  
	//println!("{}",name);  //情况1- 赋值夺取。 编译错误，所有权
 }
 
 fn print_me(name:String){
	println!("我是:{}",name);
 }